package jvm;

/**
 * @author jiangwz
 * @create 2019/9/16.
 */
public class Jvm总结 {

    /**
     * jdk1.8
     *
     * JVM内存结构
     * 以下统称 : 运行时数据区(Runtime data area)
     *  方法区(method area) : 线程共享
     *  堆 (head) : 线程共享  对象存在堆中
     *  java虚拟机栈(java virtual machine stack) : 线程私有 jvm运行时方法压栈
     *  本地方法栈(native method stack) : 线程私有   jdk native 方法存放的地方
     *  程序计数器(program counter register) : 线程私有
     *
     * GC的作用域
     *  堆和方法区
     *
     * 垃圾回收算法(4大算法):
     *  引用计数 (几乎没用了.循环引用问题解决不了)
     *  复制
     *  标记清除(mark-sweep)
     *  标记整理(mark-compact)
     *
     * 垃圾回收器(7大垃圾回收器):
     *
     *     YoungGeneration  -> TenuredGeneration
     *     Serial   ->  SerialOld
     *     ParallelNew -> SerialOld or CMS+SerialOld(CMS出错时,他来顶上)
     *     Parallel Scavenge -> ParallelOld
     *                      G1(Garbage first)
     *
     *
     *
     */

}
